#ifndef BASE_SYSTEM_LOG_COMMON_INCLUDE_SYSTEM_LOG_ERROR_CODE_H
#define BASE_SYSTEM_LOG_COMMON_INCLUDE_SYSTEM_LOG_ERROR_CODE_H

namespace Base {
namespace SystemLog {
enum ErrCode {
    ERR_OK = 0,
    ERR_BUFFER_APPEND_FAILED,
    ERR_EXPAND_BUFFER_FAILED,
    ERR_POOL_NODES_OVERFLOW,
    ERR_BUFFER_CREATE_NODE_FAILED,
    ERR_ALREADY_RUNNING,
    ERR_THREAD_START_FAILED,
    ERR_NOT_RUNNING,
    ERR_THREAD_JOIN_FAILED,
    ERR_LOGGER_NOT_RUNNING,
    ERR_INVALID_ARGUMENT,
    ERR_FLUSH_TIMEOUT,
    ERR_BUFFER_FULL,
    ERR_OPERATION_IN_PROGRESS,
    ERR_TIMEOUT,
    ERR_FILE_NOT_OPEN,
    ERR_FILE_OPEN_FAILED,
    ERR_IO_WRITE_FAILED,
    ERR_FILE_STAT_FAILED,
    ERR_FILE_TRUNCATE_FAILED,
    ERR_MMAP_FAILED,
    ERR_IO_MANAGER_NOT_INITIALIZED,
    ERR_MMAP_CLOSE_CURRENT_FILE,
    ERR_MEMORY_NOT_ALIGNED,
    ERR_SIZE_NOT_ALIGNED,
    ERR_INVALID_STATE
};
} // namespace SystemLog
} // namespace Base

#endif // BASE_SYSTEM_LOG_COMMON_INCLUDE_SYSTEM_LOG_ERROR_CODE_H